package com.budwk.app.enterprise.models;
import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import com.budwk.starter.database.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @desc: 方法描述
 * @Author: laochiangx
 * @Date: 2024/3/8 10:34
 * @info:
 */

@Data
@EqualsAndHashCode(callSuper = false)
@Table("dfxy_enterprise.wx_enterprise_shareholders")
@Comment("企业股东信息")
@ApiModel(description = "企业股东信息实体")
public class EnterpriseShareholders extends BaseModel implements Serializable {
    private static final long serialVersionUID = 1L;

    @Column
    @Name
    @Comment("ID")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.VARCHAR, width = 32)
    @PrevInsert(uu32 = true)
    private String id;

    // 股东名称
    @Column("name_shareholders")
    @Comment("股东名称")
    @ApiModelProperty(description = "股东名称")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String nameShareholders;

    // 股份类型
    @Column("type_shares")
    @Comment("股份类型")
    @ApiModelProperty(description = "股份类型")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String typeShares;

    // 持股数
    @Column("number_shares_held")
    @Comment("持股数")
    @ApiModelProperty(description = "持股数")
    private BigDecimal numberSharesHeld;

    // 最终受益股份
    @Column("final_beneficiary_shares")
    @Comment("最终受益股份")
    @ApiModelProperty(description = "最终受益股份")
    private BigDecimal finalBeneficiaryShares;

    // 占总股本比例
    @Column("proportion_total_share_capital")
    @Comment("占总股本比例")
    @ApiModelProperty(description = "占总股本比例")
    private BigDecimal proportionTotalShareCapital;

    // 持股比例
    @Column("shareholding_ratio")
    @Comment("持股比例")
    @ApiModelProperty(description = "持股比例")
    private BigDecimal shareholdingRatio;

    // 认缴出资额
    @Column("amount_capital_subscribed")
    @Comment("认缴出资额")
    @ApiModelProperty(description = "认缴出资额")
    private BigDecimal amountCapitalSubscribed;

    // 认缴出资日期
    @Column("date_subscription")
    @Comment("认缴出资日期")
    @ApiModelProperty(description = "认缴出资日期")
    private Date dateSubscription;

    // 实缴出资额
    @Column("amount_capital_paid")
    @Comment("实缴出资额")
    @ApiModelProperty(description = "实缴出资额")
    private BigDecimal amountCapitalPaid;

    // 首次持股日期
    @Column("date_first_shareholding")
    @Comment("首次持股日期")
    @ApiModelProperty(description = "首次持股日期")
    private Date dateFirstShareholding;

    // 关联产品机构
    @Column("related_products_organizations")
    @Comment("关联产品机构")
    @ApiModelProperty(description = "关联产品机构")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String relatedProductsOrganizations;
}
